package me.yricky.alia.arcane

import me.yricky.alia.data.drc.DRCRule
import me.yricky.alia.data.drc.RTDRCRule
import me.yricky.alia.utils.command.CommandInst
import java.util.zip.ZipFile


/**
 * @author Yricky
 * @date 2022/1/31
 */
data class Arcane(
    val metadata: ArcaneMetadata,
    val commands:Map<String, CommandInst> = emptyMap(),
    val drcRules: List<DRCRule> = emptyList(),
    val rtdrcRules: List<RTDRCRule> = emptyList(),
    val openMethods: List<Pair<String,(String)->Unit>> = emptyList(),
){
    class Context(
        val arcaneFile : ZipFile,
        val metadata : ArcaneMetadata,
    )
}